1. Technical Field
The present invention relates generally to a raster operation unit and, more particularly, to a raster operation unit that can perform a raster operation and non-raster operation function(s).
2. Related Art
Digital electronics and, in particular, digital video systems are becoming ubiquitous in today""s electronic world. One industry, among many, in which digital video systems are becoming much more prevalent is television services. For instance, practically every television system now offers digital service, which requires a set top box having a digital video system. In this setting, the digital video system provides various functions relative to the digital television services such as television programming information, games, Internet browsing and other multimedia in a graphical format on a television display. A digital video system generally includes a processor, memory, a hardware graphics system for generating graphics, an application that provides system functionality including graphics creation, and an application program interface (API) for communicating between the application and graphics system. In operation, the digital video system application provides a request for generation of a graphic to the graphics system API, and the graphics system API would then generate register data for the graphics system using the digital video system processor.
A graphics engine includes a boolean logic unit that provides a number of functions relative to graphics generation. One common function is a raster operation, which is conducted by a raster operation unit. Other functions may include, for example, a color key operation, a pixel bit mask operation, a pattern write mask operation and a pixel boundary modify write operation. Conventionally, each function is provided serially by a respective operation unit. That is, each function would occur serially prior to or after the raster operation. Alternatively, each function may occur in parallel with the raster operation. This arrangement is very inefficient since each function requires its own logic. In addition, additional logic is required to multiplex the results of each function. For example, if a color key operation (CKOP) were configured to replace a destination pixel only if the color key does not compare, then a 2:1 multiplexor is required to select the source pixel (CKOP false) or destination pixel (CKOP true). Further multiplexing would be required for each function and each of the different pixel formats, e.g., red-green-blue (RGB) 32, RGB 16, color-lookup-table (CLUT) 4, CLUT 8, monochrome, etc. Where seven different RGB pixel formats are supported by a graphics engine, for example, this equates to a significant amount of logic.
In view of the foregoing, there is a need in the art for a way to perform the various functions more efficiently and use less logic.
A method, graphics engine boolean logic unit and digital video system that provide a raster operation unit capable of providing non-raster operation functions is provided. The raster operation may also simultaneously conduct a raster function and non-raster operation functions by modification of at least one of a rasterop code and a pattern operand. The invention saves considerable logic since different functions are no longer executed separately and then multiplexed.
A first aspect of the invention is directed to a method of conducting a non-raster operation function using a raster operation unit that receives a first operand, a second operand, a pattern operand and a rasterop code, the method comprising the steps of: modifying at least one of the rasterop code and the pattern operand to implement the non-raster operation function; and executing on the first operand, the second operand and the pattern operand according to the rasterop code using the raster operation unit to generate resulting pixel data.
A second aspect of the invention includes a graphics engine boolean logic unit comprising: a raster operation unit that executes on a first operand, a second operand and a pattern operand according to a rasterop code; and a rasterop input modifier that modifies at least one of the pattern operand and the rasterop code to execute a non-raster operation function using the raster operation unit.
A third aspect of the invention is directed to a digital video system comprising: a processor; a memory; an application; a graphics system for generating graphics, the graphics system including a graphics engine boolean logic unit including: means for conducting a raster operation on a first operand, a second operand and a pattern operand according to a rasterop code; and means for modifying at least one of the pattern operand and the rasterop code to execute a non-raster operation function using the means for conducting.
The foregoing and other features and advantages of the invention will be apparent from the following more particular description of embodiments of the invention.